package cn.com.greatwall.oauth.service;

import cn.com.greatwall.common.model.Result;

/**
 * @Author herw
 * @Time 2021-12-26 16:40:49
 * @Version 1.0
 * @Description: TODO(用一句话描述该文件做什么)
 */
public interface IValidateCodeService {
    /**
     * 保存图形验证码
     * @param deviceId 前端唯一标识
     * @param imageCode 验证码
     */
    void saveImageCode(String deviceId, String imageCode);
    
    Result sendSmsCode(String mobile);
    
    /**
     * 获取验证码
     * @param deviceId 前端唯一标识/手机号
     * @return
     */
    String getCode(String deviceId);
    
    /**
     * 删除验证码
     * @param deviceId 前端唯一标识/手机号
     */
    void remove(String deviceId);
    
    /**
     * 验证验证码
     * @param deviceId
     * @param validCode
     */
    void validate(String deviceId, String validCode);
}
